/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.wms.entity;

import com.jeeplus.modules.infor.entity.Location;
import com.jeeplus.modules.sys.entity.User;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 库存调整Entity
 * @author sld
 * @version 2017-11-29
 */
public class InventoryAdjustment extends DataEntity<InventoryAdjustment> {
	
	private static final long serialVersionUID = 1L;
	private Location location;		// 货位
	private String shipperCode;		// 货主代码
	private String materialCode;		// 物料编码
	private String materialName;		// 物料名称
	private String original;		// 原有数量
	private String increase;		// 增加数量
	private String deducting;		// 扣减数量
	private User operator;		// 操作人
	private Date operationTime;		// 操作时间
	private Date date;		// 生产日期
	private String batch;		// 批次
	private Date limitedPeriod;		// 有效期至
	private Date inboundDate;		// 入库日期
	private String projectName;          //项目名称
	private String reson;//调整原因

	public String getReson() {
		return reson;
	}

	public void setReson(String reson) {
		this.reson = reson;
	}

	public InventoryAdjustment() {
		super();
	}

	public InventoryAdjustment(String id){
		super(id);
	}
	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}
	@ExcelField(title="货位", align=2, sort=1)
	public Location getLocation() {
		return location;
	}

	public void setLocation(Location location) {
		this.location = location;
	}
	
	@ExcelField(title="货主代码", align=2, sort=2)
	public String getShipperCode() {
		return shipperCode;
	}

	public void setShipperCode(String shipperCode) {
		this.shipperCode = shipperCode;
	}
	
	@ExcelField(title="物料编码", align=2, sort=3)
	public String getMaterialCode() {
		return materialCode;
	}

	public void setMaterialCode(String materialCode) {
		this.materialCode = materialCode;
	}
	
	@ExcelField(title="物料名称", align=2, sort=4)
	public String getMaterialName() {
		return materialName;
	}

	public void setMaterialName(String materialName) {
		this.materialName = materialName;
	}
	
	@ExcelField(title="原有数量", align=2, sort=5)
	public String getOriginal() {
		return original;
	}

	public void setOriginal(String original) {
		this.original = original;
	}
	
	@ExcelField(title="增加数量", align=2, sort=6)
	public String getIncrease() {
		return increase;
	}

	public void setIncrease(String increase) {
		this.increase = increase;
	}
	
	@ExcelField(title="扣减数量", align=2, sort=7)
	public String getDeducting() {
		return deducting;
	}

	public void setDeducting(String deducting) {
		this.deducting = deducting;
	}
	
	@ExcelField(title="操作人", align=2, sort=8)
	public User getOperator() {
		return operator;
	}

	public void setOperator(User operator) {
		this.operator = operator;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="操作时间", align=2, sort=9)
	public Date getOperationTime() {
		return operationTime;
	}

	public void setOperationTime(Date operationTime) {
		this.operationTime = operationTime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="生产日期", align=2, sort=10)
	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}
	
	@ExcelField(title="批次", align=2, sort=11)
	public String getBatch() {
		return batch;
	}

	public void setBatch(String batch) {
		this.batch = batch;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="有效期至", align=2, sort=12)
	public Date getLimitedPeriod() {
		return limitedPeriod;
	}

	public void setLimitedPeriod(Date limitedPeriod) {
		this.limitedPeriod = limitedPeriod;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="入库日期", align=2, sort=13)
	public Date getInboundDate() {
		return inboundDate;
	}

	public void setInboundDate(Date inboundDate) {
		this.inboundDate = inboundDate;
	}
	
}